package com.util;

import java.text.ParseException;
  import java.text.SimpleDateFormat;
  import java.util.Date;
import java.util.TimeZone;

public class DateUtil {

      private static SimpleDateFormat sf = null;

      /**
     * 获取系统时间
     */
    public static String getCurrentDate() {
        Date d = new Date();
         sf = new SimpleDateFormat("yyyy-MM-dd");
        return sf.format(d);
    }

    /**
     * 时间戳转换成字符串
      */
     public static String getDateToString(long time) {
         Date d = new Date(time);
         sf = new SimpleDateFormat("yyyy-MM-dd");
         return sf.format(d);
     }

     /**
      * 将字符串转为时间戳
      */
     public static long getStringToDate(String time) {
         sf = new SimpleDateFormat("yyyy-MM-dd");
         Date date = new Date();
         try{
             date = sf.parse(time);
         } catch(ParseException e) {
             e.printStackTrace();
         }
         return date.getTime();
     }

     /**
      * 直接获取时间戳
      */
     public static String getTimeStamp() {
         String currentDate = getCurrentDate();
         sf = new SimpleDateFormat("yyyy-MM-dd");
         Date date = new Date();
         try{
             date = sf.parse(currentDate);
         } catch(ParseException e) {
             e.printStackTrace();
         }
         return String.valueOf(date.getTime());
     }


    /**
     * 时区差问题处理
     * @param time 时间戳
     * @param pattern 时间格式
     * @return
     */
      public static Date formatDateByTimeZone(long time, String pattern) {
          TimeZone.setDefault(TimeZone.getTimeZone("GMT+08"));
          SimpleDateFormat sdf = new SimpleDateFormat(pattern);
          Date date = new Date(time);
          return date;
      }

 }